Android高级进阶:Android触摸事件传递机制 您所在的位置:网站首页 viewpager scrollview 滑动冲突 Android高级进阶:Android触摸事件传递机制

Android高级进阶:Android触摸事件传递机制

2023-01-27 06:20| 来源: 网络整理| 查看: 265

Android事件分为三部分:

1、分发:public boolean dispatchTouchEvent(MotionEvent ev) 2、拦截:public boolean onInterceptTouchEvent(MotionEvent ev) 3、消费:public boolean onTouchEvent(MotionEvent event) 其中拦截onInterceptTouchEvent是ViewGroup组件独有

自上而下嵌套层级:Activity——>ViewGroup——>子View

子View消耗事件情况下的响应顺序:自上而下,事件消费后终止传递,子View的onClick事件是在Up之后才响应。down事件结束于ChildView onTouchEvent

E/MainActivity: 0 dispatchTouchEvent E/GroupText: dispatchTouchEvent E/GroupText: onInterceptTouchEvent E/ChildView: dispatchTouchEvent E/ChildView: 0 onTouchListener E/ChildView: onTouchEvent E/MainActivity: 1 dispatchTouchEvent E/GroupText: dispatchTouchEvent E/GroupText: onInterceptTouchEvent E/ChildView: dispatchTouchEvent E/ChildView: 1 onTouchListener E/ChildView: onTouchEvent E/ChildView: onClick

子View不消耗事件的情况:down事件从Activity自上而下传递到子View又自下而上返回到Activity,up事件结束在Activity onTouchEvent

E/MainActivity: 0 dispatchTouchEvent E/GroupText: dispatchTouchEvent E/GroupText: onInterceptTouchEvent E/ChildView: dispatchTouchEvent E/ChildView: 0 onTouchListener E/ChildView: onTouchEvent E/GroupText: onTouchEvent E/MainActivity: 0 onTouchEvent E/MainActivity: 1 dispatchTouchEvent E/MainActivity: 1 onTouchEvent


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有